<?php

namespace UserProposal;

/**
 * Набор функций для обслуживания предложения пользователя об удалении сущности
 * Применять к Model2
 *
 * @author kosh
 */
trait DeleteTrait {
	protected static $_prepareDeleteProposalFields = [
			//'_id',
			'title' 
	];
	
	/**
	 * Загружаем сущность, отдаём указанные поля
	 *
	 * @param unknown $id        	
	 * @param unknown $params        	
	 */
	static function prepareDeleteProposal($id, $params) {
		$data = static::find ( $id, false );
		$res = [ ];
		foreach ( static::$_prepareDeleteProposalFields as $key ) {
			$res [$key] = isset($data [$key])?$data [$key]:null;
		}
		return $res;
	}
	/**
	 * Обрабатываем входные данные перед созданием записи предложения
	 *
	 * @param unknown $id        	
	 * @param unknown $params        	
	 */
	static function createDeleteProposal($id, $params) {
		return $params;
	}
	
	/**
	 * Решение принято, удаляем сущность
	 *
	 * @param unknown $id        	
	 * @param unknown $params        	
	 * @return unknown
	 */
	static function actionDeleteProposal($id, $params) {
		static::delete ( $id )->execute ();
	}
}